package algo;

import java.util.ArrayList;

/**
 * 
 * @author Joris et Jordan
 * 
 */
public class Ville {

	private String nom;

	private int x, y;
	private ArrayList<Chemin> listeChemin;

	public Ville(int x, int y) {
		this.x = x;
		this.y = y;
		this.listeChemin = new ArrayList<Chemin>();
	}

	public Ville(int x, int y, String nom) {
		this.x = x;
		this.y = y;
		this.nom = nom;
		this.listeChemin = new ArrayList<Chemin>();
	}

	public int getX() {
		return x;
	}

	public int getY() {
		return y;
	}

	public ArrayList<Chemin> getListeChemin() {
		return listeChemin;
	}

	public void setListeChemin(ArrayList<Chemin> listeChemin) {
		this.listeChemin = listeChemin;
	}

	public void addChemin(Chemin chemin) {
		this.listeChemin.add(chemin);
	}

	public String getNom() {
		return nom;
	}

	public Chemin getChemin(Ville ville_suivante) {
		for (Chemin chemin : listeChemin) {
			if (chemin.getVilleA() == this
					&& chemin.getVilleB() == ville_suivante) {
				return chemin;
			} else if (chemin.getVilleA() == ville_suivante
					&& chemin.getVilleB() == this) {
				return chemin;
			}
		}
		return null;
	}

	public String toString() {
		String res = "";
		for (Chemin chemin_actuel : listeChemin) {
			res += "\nVille A : " + chemin_actuel.getVilleA().nom
					+ " ,Ville B : " + chemin_actuel.getVilleB().nom;
		}
		return nom + "\n Liste des chemins : " + res;
	}

}
